<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">

<title>Table of Contents - socket: Ruby Standard Library Documentation</title>


<script src="./js/navigation.js" defer></script>
<script src="./js/search.js" defer></script>
<script src="./js/search_index.js" defer></script>
<script src="./js/searcher.js" defer></script>
<script src="./js/darkfish.js" defer></script>

<script src="./js/jquery-3.2.0.min.js"></script>

<script src="./js/vue.min.js"></script>
<script src="./js/js.cookie.min.js"></script>

<link href="./css/fonts.css" rel="stylesheet">
<link id='rdoccss' href="./css/rdoc.css" rel="stylesheet">
<link href="./css/carbon17.css" rel="stylesheet">

<script type="text/javascript">
  var rdoc_rel_prefix = "./";
  var index_rel_prefix = "./";
  var darkModeCsseHref = "./css/rdoc-dm.css"
  var defaultModeCssHref = "./css/rdoc.css"
  // var cssDarkmode = Cookies.get('darkmode');
  
  if( Cookies.get("darkmode") == "true") {
	$('#rdoccss').attr("href", darkModeCsseHref);
}

//  https://cssdeck.com/blog/simple-jquery-stylesheet-switcher/

document.write('<style type="text/css">body{display:none}</style>');

</script>


</head>
<body id="top" class="table-of-contents">
  <!-- table_of_contents.html -->
  <div id='actionbar' >
    <div class='wrapper mdiv'>
      <ul class='grids g0'></ul>
    </div> 
    <!-- VERSION HEADER for 3.3.0.preview2 NOT FOUND -->
  </div> <!-- end action bar -->

  <div class='wrapper hdiv'>

    

    <div id='extraz'><div class='adzbox-index'  >
        
      </div>         
    </div>

    <main role="main">
    <h1 class="class">Table of Contents - socket: Ruby Standard Library Documentation</h1>


          <h2 id="classes">Classes and Modules</h2>
          <ul>
              <li class="class">
                <a href="Addrinfo.html">Addrinfo</a>
                  </li>
              <li class="class">
                <a href="BasicSocket.html">BasicSocket</a>
                  </li>
              <li class="class">
                <a href="IPSocket.html">IPSocket</a>
                  </li>
              <li class="class">
                <a href="Object.html">Object</a>
                  </li>
              <li class="class">
                <a href="SOCKSSocket.html">SOCKSSocket</a>
                  </li>
              <li class="class">
                <a href="Socket.html">Socket</a>

                <ul>
                    <li><a href="Socket.html#label-What-27s+a+socket-3F">What’s a socket?</a>
                    <li><a href="Socket.html#label-Quick+start">Quick start</a>
                    <li><a href="Socket.html#label-Exception+Handling">Exception Handling</a>
                    <li><a href="Socket.html#label-Convenience+methods">Convenience methods</a>
                    <li><a href="Socket.html#label-Documentation+by">Documentation by</a>
                    </ul>
                  </li>
              <li class="class">
                <a href="Socket/AncillaryData.html">Socket::AncillaryData</a>
                  </li>
              <li class="module">
                <a href="Socket/Constants.html">Socket::Constants</a>
                  </li>
              <li class="class">
                <a href="Socket/Ifaddr.html">Socket::Ifaddr</a>
                  </li>
              <li class="class">
                <a href="Socket/Option.html">Socket::Option</a>
                  </li>
              <li class="class">
                <a href="Socket/UDPSource.html">Socket::UDPSource</a>
                  </li>
              <li class="class">
                <a href="SocketError.html">SocketError</a>
                  </li>
              <li class="class">
                <a href="TCPServer.html">TCPServer</a>
                  </li>
              <li class="class">
                <a href="TCPSocket.html">TCPSocket</a>
                  </li>
              <li class="class">
                <a href="UDPSocket.html">UDPSocket</a>
                  </li>
              <li class="class">
                <a href="UNIXServer.html">UNIXServer</a>
                  </li>
              <li class="class">
                <a href="UNIXSocket.html">UNIXSocket</a>
                  </li>
                </ul>

                <h2 id="methods">Methods</h2>
                <ul>

                    <li class="method">
                      <a href="Socket.html#method-c-accept_loop">::accept_loop</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-c-bool">::bool</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-c-byte">::byte</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-c-do_not_reverse_lookup">::do_not_reverse_lookup</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-c-do_not_reverse_lookup-3D">::do_not_reverse_lookup=</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-c-for_fd">::for_fd</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-c-foreach">::foreach</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="IPSocket.html#method-c-getaddress">::getaddress</a>
                      &mdash;
                      <span class="container">IPSocket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-getaddrinfo">::getaddrinfo</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-c-getaddrinfo">::getaddrinfo</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket.html#method-c-gethostbyaddr">::gethostbyaddr</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-gethostbyname">::gethostbyname</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="TCPSocket.html#method-c-gethostbyname">::gethostbyname</a>
                      &mdash;
                      <span class="container">TCPSocket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-gethostname">::gethostname</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-getifaddrs">::getifaddrs</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-getnameinfo">::getnameinfo</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-getservbyname">::getservbyname</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-getservbyport">::getservbyport</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket/AncillaryData.html#method-c-int">::int</a>
                      &mdash;
                      <span class="container">Socket::AncillaryData</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-c-int">::int</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-c-ip">::ip</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket.html#method-c-ip_address_list">::ip_address_list</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket/AncillaryData.html#method-c-ip_pktinfo">::ip_pktinfo</a>
                      &mdash;
                      <span class="container">Socket::AncillaryData</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-c-ipv4_multicast_loop">::ipv4_multicast_loop</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-c-ipv4_multicast_ttl">::ipv4_multicast_ttl</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="Socket/AncillaryData.html#method-c-ipv6_pktinfo">::ipv6_pktinfo</a>
                      &mdash;
                      <span class="container">Socket::AncillaryData</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-c-linger">::linger</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="Socket.html#method-c-new">::new</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket/AncillaryData.html#method-c-new">::new</a>
                      &mdash;
                      <span class="container">Socket::AncillaryData</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-c-new">::new</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket/UDPSource.html#method-c-new">::new</a>
                      &mdash;
                      <span class="container">Socket::UDPSource</span>

                    <li class="method">
                      <a href="UDPSocket.html#method-c-new">::new</a>
                      &mdash;
                      <span class="container">UDPSocket</span>

                    <li class="method">
                      <a href="TCPServer.html#method-c-new">::new</a>
                      &mdash;
                      <span class="container">TCPServer</span>

                    <li class="method">
                      <a href="UNIXServer.html#method-c-new">::new</a>
                      &mdash;
                      <span class="container">UNIXServer</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-c-new">::new</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="SOCKSSocket.html#method-c-new">::new</a>
                      &mdash;
                      <span class="container">SOCKSSocket</span>

                    <li class="method">
                      <a href="TCPSocket.html#method-c-new">::new</a>
                      &mdash;
                      <span class="container">TCPSocket</span>

                    <li class="method">
                      <a href="UNIXSocket.html#method-c-new">::new</a>
                      &mdash;
                      <span class="container">UNIXSocket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-pack_sockaddr_in">::pack_sockaddr_in</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-pack_sockaddr_un">::pack_sockaddr_un</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-pair">::pair</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="UNIXSocket.html#method-c-pair">::pair</a>
                      &mdash;
                      <span class="container">UNIXSocket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-sockaddr_in">::sockaddr_in</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-sockaddr_un">::sockaddr_un</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-socketpair">::socketpair</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="UNIXSocket.html#method-c-socketpair">::socketpair</a>
                      &mdash;
                      <span class="container">UNIXSocket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-tcp">::tcp</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-c-tcp">::tcp</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket.html#method-c-tcp_server_loop">::tcp_server_loop</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-tcp_server_sockets">::tcp_server_sockets</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-c-udp">::udp</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket.html#method-c-udp_server_loop">::udp_server_loop</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-udp_server_loop_on">::udp_server_loop_on</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-udp_server_recv">::udp_server_recv</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-udp_server_sockets">::udp_server_sockets</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-unix">::unix</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-c-unix">::unix</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket/AncillaryData.html#method-c-unix_rights">::unix_rights</a>
                      &mdash;
                      <span class="container">Socket::AncillaryData</span>

                    <li class="method">
                      <a href="Socket.html#method-c-unix_server_loop">::unix_server_loop</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-unix_server_socket">::unix_server_socket</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-unix_socket_abstract_name-3F">::unix_socket_abstract_name?</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-unpack_sockaddr_in">::unpack_sockaddr_in</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-c-unpack_sockaddr_un">::unpack_sockaddr_un</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket.html#method-i-accept">#accept</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="TCPServer.html#method-i-accept">#accept</a>
                      &mdash;
                      <span class="container">TCPServer</span>

                    <li class="method">
                      <a href="UNIXServer.html#method-i-accept">#accept</a>
                      &mdash;
                      <span class="container">UNIXServer</span>

                    <li class="method">
                      <a href="Socket.html#method-i-accept_nonblock">#accept_nonblock</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="TCPServer.html#method-i-accept_nonblock">#accept_nonblock</a>
                      &mdash;
                      <span class="container">TCPServer</span>

                    <li class="method">
                      <a href="UNIXServer.html#method-i-accept_nonblock">#accept_nonblock</a>
                      &mdash;
                      <span class="container">UNIXServer</span>

                    <li class="method">
                      <a href="Socket/Ifaddr.html#method-i-addr">#addr</a>
                      &mdash;
                      <span class="container">Socket::Ifaddr</span>

                    <li class="method">
                      <a href="IPSocket.html#method-i-addr">#addr</a>
                      &mdash;
                      <span class="container">IPSocket</span>

                    <li class="method">
                      <a href="UNIXSocket.html#method-i-addr">#addr</a>
                      &mdash;
                      <span class="container">UNIXSocket</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-afamily">#afamily</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket.html#method-i-bind">#bind</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-bind">#bind</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="UDPSocket.html#method-i-bind">#bind</a>
                      &mdash;
                      <span class="container">UDPSocket</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-i-bool">#bool</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="Socket/Ifaddr.html#method-i-broadaddr">#broadaddr</a>
                      &mdash;
                      <span class="container">Socket::Ifaddr</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-i-byte">#byte</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="Object.html#method-i-c_str">#c_str</a>
                      &mdash;
                      <span class="container">Object</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-canonname">#canonname</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="SOCKSSocket.html#method-i-close">#close</a>
                      &mdash;
                      <span class="container">SOCKSSocket</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-close_read">#close_read</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-close_write">#close_write</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="Socket/AncillaryData.html#method-i-cmsg_is-3F">#cmsg_is?</a>
                      &mdash;
                      <span class="container">Socket::AncillaryData</span>

                    <li class="method">
                      <a href="Socket.html#method-i-connect">#connect</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-connect">#connect</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="UDPSocket.html#method-i-connect">#connect</a>
                      &mdash;
                      <span class="container">UDPSocket</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-connect_address">#connect_address</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-connect_from">#connect_from</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-connect_internal">#connect_internal</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket.html#method-i-connect_nonblock">#connect_nonblock</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-connect_to">#connect_to</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket/AncillaryData.html#method-i-data">#data</a>
                      &mdash;
                      <span class="container">Socket::AncillaryData</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-i-data">#data</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="Object.html#method-i-def_intern">#def_intern</a>
                      &mdash;
                      <span class="container">Object</span>

                    <li class="method">
                      <a href="Object.html#method-i-def_name_to_int">#def_name_to_int</a>
                      &mdash;
                      <span class="container">Object</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-do_not_reverse_lookup">#do_not_reverse_lookup</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-do_not_reverse_lookup-3D">#do_not_reverse_lookup=</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="Socket/Ifaddr.html#method-i-dstaddr">#dstaddr</a>
                      &mdash;
                      <span class="container">Socket::Ifaddr</span>

                    <li class="method">
                      <a href="Object.html#method-i-each_const">#each_const</a>
                      &mdash;
                      <span class="container">Object</span>

                    <li class="method">
                      <a href="Object.html#method-i-each_name">#each_name</a>
                      &mdash;
                      <span class="container">Object</span>

                    <li class="method">
                      <a href="Object.html#method-i-each_names_with_len">#each_names_with_len</a>
                      &mdash;
                      <span class="container">Object</span>

                    <li class="method">
                      <a href="Socket/AncillaryData.html#method-i-family">#family</a>
                      &mdash;
                      <span class="container">Socket::AncillaryData</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-i-family">#family</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-family_addrinfo">#family_addrinfo</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket/Ifaddr.html#method-i-flags">#flags</a>
                      &mdash;
                      <span class="container">Socket::Ifaddr</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-getnameinfo">#getnameinfo</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-getpeereid">#getpeereid</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-getpeername">#getpeername</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-getsockname">#getsockname</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-getsockopt">#getsockopt</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="Socket/Ifaddr.html#method-i-ifindex">#ifindex</a>
                      &mdash;
                      <span class="container">Socket::Ifaddr</span>

                    <li class="method">
                      <a href="Socket/AncillaryData.html#method-i-inspect">#inspect</a>
                      &mdash;
                      <span class="container">Socket::AncillaryData</span>

                    <li class="method">
                      <a href="Socket/Ifaddr.html#method-i-inspect">#inspect</a>
                      &mdash;
                      <span class="container">Socket::Ifaddr</span>

                    <li class="method">
                      <a href="IPSocket.html#method-i-inspect">#inspect</a>
                      &mdash;
                      <span class="container">IPSocket</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-inspect">#inspect</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-i-inspect">#inspect</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-inspect_sockaddr">#inspect_sockaddr</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket/AncillaryData.html#method-i-int">#int</a>
                      &mdash;
                      <span class="container">Socket::AncillaryData</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-i-int">#int</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ip-3F">#ip?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ip_address">#ip_address</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket/AncillaryData.html#method-i-ip_pktinfo">#ip_pktinfo</a>
                      &mdash;
                      <span class="container">Socket::AncillaryData</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ip_port">#ip_port</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ip_unpack">#ip_unpack</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv4-3F">#ipv4?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv4_loopback-3F">#ipv4_loopback?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv4_multicast-3F">#ipv4_multicast?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-i-ipv4_multicast_loop">#ipv4_multicast_loop</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-i-ipv4_multicast_ttl">#ipv4_multicast_ttl</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv4_private-3F">#ipv4_private?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv6-3F">#ipv6?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv6_linklocal-3F">#ipv6_linklocal?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv6_loopback-3F">#ipv6_loopback?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv6_mc_global-3F">#ipv6_mc_global?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv6_mc_linklocal-3F">#ipv6_mc_linklocal?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv6_mc_nodelocal-3F">#ipv6_mc_nodelocal?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv6_mc_orglocal-3F">#ipv6_mc_orglocal?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv6_mc_sitelocal-3F">#ipv6_mc_sitelocal?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv6_multicast-3F">#ipv6_multicast?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket/AncillaryData.html#method-i-ipv6_pktinfo">#ipv6_pktinfo</a>
                      &mdash;
                      <span class="container">Socket::AncillaryData</span>

                    <li class="method">
                      <a href="Socket/AncillaryData.html#method-i-ipv6_pktinfo_addr">#ipv6_pktinfo_addr</a>
                      &mdash;
                      <span class="container">Socket::AncillaryData</span>

                    <li class="method">
                      <a href="Socket/AncillaryData.html#method-i-ipv6_pktinfo_ifindex">#ipv6_pktinfo_ifindex</a>
                      &mdash;
                      <span class="container">Socket::AncillaryData</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv6_sitelocal-3F">#ipv6_sitelocal?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv6_to_ipv4">#ipv6_to_ipv4</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv6_unique_local-3F">#ipv6_unique_local?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv6_unspecified-3F">#ipv6_unspecified?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv6_v4compat-3F">#ipv6_v4compat?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-ipv6_v4mapped-3F">#ipv6_v4mapped?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket.html#method-i-ipv6only-21">#ipv6only!</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Socket/AncillaryData.html#method-i-level">#level</a>
                      &mdash;
                      <span class="container">Socket::AncillaryData</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-i-level">#level</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-i-linger">#linger</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="Socket.html#method-i-listen">#listen</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-listen">#listen</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="TCPServer.html#method-i-listen">#listen</a>
                      &mdash;
                      <span class="container">TCPServer</span>

                    <li class="method">
                      <a href="UNIXServer.html#method-i-listen">#listen</a>
                      &mdash;
                      <span class="container">UNIXServer</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-local_address">#local_address</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="Socket/Ifaddr.html#method-i-name">#name</a>
                      &mdash;
                      <span class="container">Socket::Ifaddr</span>

                    <li class="method">
                      <a href="Socket/Ifaddr.html#method-i-netmask">#netmask</a>
                      &mdash;
                      <span class="container">Socket::Ifaddr</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-i-optname">#optname</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="UNIXSocket.html#method-i-path">#path</a>
                      &mdash;
                      <span class="container">UNIXSocket</span>

                    <li class="method">
                      <a href="IPSocket.html#method-i-peeraddr">#peeraddr</a>
                      &mdash;
                      <span class="container">IPSocket</span>

                    <li class="method">
                      <a href="UNIXSocket.html#method-i-peeraddr">#peeraddr</a>
                      &mdash;
                      <span class="container">UNIXSocket</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-pfamily">#pfamily</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-protocol">#protocol</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-recv">#recv</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="UNIXSocket.html#method-i-recv_io">#recv_io</a>
                      &mdash;
                      <span class="container">UNIXSocket</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-recv_nonblock">#recv_nonblock</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="Socket.html#method-i-recvfrom">#recvfrom</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="IPSocket.html#method-i-recvfrom">#recvfrom</a>
                      &mdash;
                      <span class="container">IPSocket</span>

                    <li class="method">
                      <a href="UNIXSocket.html#method-i-recvfrom">#recvfrom</a>
                      &mdash;
                      <span class="container">UNIXSocket</span>

                    <li class="method">
                      <a href="Socket.html#method-i-recvfrom_nonblock">#recvfrom_nonblock</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="UDPSocket.html#method-i-recvfrom_nonblock">#recvfrom_nonblock</a>
                      &mdash;
                      <span class="container">UDPSocket</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-recvmsg">#recvmsg</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-recvmsg_nonblock">#recvmsg_nonblock</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-remote_address">#remote_address</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="Socket/UDPSource.html#method-i-reply">#reply</a>
                      &mdash;
                      <span class="container">Socket::UDPSource</span>

                    <li class="method">
                      <a href="Object.html#method-i-reverse_each_name">#reverse_each_name</a>
                      &mdash;
                      <span class="container">Object</span>

                    <li class="method">
                      <a href="Object.html#method-i-reverse_each_name_with_prefix_optional">#reverse_each_name_with_prefix_optional</a>
                      &mdash;
                      <span class="container">Object</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-send">#send</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="UDPSocket.html#method-i-send">#send</a>
                      &mdash;
                      <span class="container">UDPSocket</span>

                    <li class="method">
                      <a href="UNIXSocket.html#method-i-send_io">#send_io</a>
                      &mdash;
                      <span class="container">UNIXSocket</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-sendmsg">#sendmsg</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-sendmsg_nonblock">#sendmsg_nonblock</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-setsockopt">#setsockopt</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="BasicSocket.html#method-i-shutdown">#shutdown</a>
                      &mdash;
                      <span class="container">BasicSocket</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-socktype">#socktype</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket.html#method-i-sysaccept">#sysaccept</a>
                      &mdash;
                      <span class="container">Socket</span>

                    <li class="method">
                      <a href="TCPServer.html#method-i-sysaccept">#sysaccept</a>
                      &mdash;
                      <span class="container">TCPServer</span>

                    <li class="method">
                      <a href="UNIXServer.html#method-i-sysaccept">#sysaccept</a>
                      &mdash;
                      <span class="container">UNIXServer</span>

                    <li class="method">
                      <a href="Socket/AncillaryData.html#method-i-timestamp">#timestamp</a>
                      &mdash;
                      <span class="container">Socket::AncillaryData</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-to_s">#to_s</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-i-to_s">#to_s</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-to_sockaddr">#to_sockaddr</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket/AncillaryData.html#method-i-type">#type</a>
                      &mdash;
                      <span class="container">Socket::AncillaryData</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-unix-3F">#unix?</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Addrinfo.html#method-i-unix_path">#unix_path</a>
                      &mdash;
                      <span class="container">Addrinfo</span>

                    <li class="method">
                      <a href="Socket/AncillaryData.html#method-i-unix_rights">#unix_rights</a>
                      &mdash;
                      <span class="container">Socket::AncillaryData</span>

                    <li class="method">
                      <a href="Socket/Option.html#method-i-unpack">#unpack</a>
                      &mdash;
                      <span class="container">Socket::Option</span>

                    <li class="method">
                      <a href="Socket/Ifaddr.html#method-i-vhid">#vhid</a>
                      &mdash;
                      <span class="container">Socket::Ifaddr</span>
                    </ul>
                    </main>
                  </div> 

<footer id="validator-badges" role="contentinfo">
<p><a href="https://validator.w3.org/check/referer">Validate</a></p>
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.4.0.</p>
<p>Based on <a href="https://github.com/ged/darkfish/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.</p>

  
    <p><p><a href="https://ruby-doc.org">Ruby-doc.org</a> is provided by <a href="https://jamesbritt.com">James Britt</a> and <a href="https://neurogami.com">Neurogami</a>. </p><p><a href="https://jamesbritt.bandcamp.com/">Hack your world.  Feed your head.  Live curious</a>.</p>
</p>
  
  </footer>

<script type="text/javascript">


  let ads  = $("#carbonads-container").children().detach();


  function swapMode() {
    var cookieName = 'darkmode';
    var cssDarkmode = Cookies.get(cookieName);
    console.log("***** swapMode! " + cssDarkmode + " *****");


    if (cssDarkmode == "true") {
      console.log("We have dark mode, set the css to light ...");
      $('#rdoccss').attr("href", defaultModeCssHref);
      $('#cssSelect').text("Dark mode");
      cssDarkmode = "false";
      console.log("swapMode! Now set cookie to " + cssDarkmode);
      Cookies.set(cookieName, cssDarkmode);

    } else {
      console.log("We not have dark mode, set the css to dark ...");
      $('#rdoccss').attr("href", darkModeCsseHref);
      $('#cssSelect').text("Light mode");
      cssDarkmode = "true";
      console.log("swapMode! Now set cookie to " + cssDarkmode);
      Cookies.set(cookieName, cssDarkmode);

    }

    console.log("  --------------- ");
  }


const vueCssApp = new Vue({
el: '#menubar',
data: {
isDark: false
},
methods: {
toggleClass: function(event){
this.isDark = !this.isDark;
}
}
})

const vueApp = new Vue({
el: '#vapp',
data: { 
isOpen: true
},

mounted() {
this.handleResize();
this.manage_mob_classes();
window.addEventListener('resize', this.handleResize)
//this.isOpen !=  (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));
},
destroyed() {
window.removeEventListener('resize', this.handleResize)
},
created() {
//manage_mob_classes();
},

methods : {
isMobile() {
  return (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));
},

  handleResize() {
    if (!this.isMobile()) {
      this.isOpen = window.innerWidth > 800;
    }
  },

  manage_mob_classes() {
    if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
      $("nav").addClass("mob_nav");
      $("main").addClass("mob_main");
      $("#extraz").addClass("mob_extraz");
      $("#carbonads-container").addClass("mob_carbonads-container");
      this.isOpen  = false;
    } else {
      $("nav").removeClass("mob_nav") 
        $("main").removeClass("mob_main");
      $("#extraz").removeClass("mob_extraz");
      $("#carbonads-container").removeClass("mob_carbonads-container");
      this.isOpen  = true;
    }
  },

  toggleNav() {
    this.isOpen =! this.isOpen ;
    // alert("Toggle nav!");
    console.log("toggleNav() click: " + this.isOpen );
  }
}
})

$("#carbonads-container").append(ads);


$(function() {

    var darkmode = Cookies.get("darkmode");
    console.log("Document ready: " + darkmode);

    if ( darkmode  == "true" ) {
      $('#cssSelect').text("Light mode");
    } else {
      $('#cssSelect').text("Dark mode");
     }

    $('body').css('display','block');
    });

</script>

    
  </body> 
</html>

